Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit becc3d0e3dacbad88a5a2aba2c6ca90ac7bf6567


Parents : 95895f3
Author : Mark Qvist <mark@unsigned.io>
Date : 2025-01-13T11:37:46+01:00

Implemented display rotation on Heltec T114

Changes

1 files changed, 28 insertions(+), 15 deletions(-)

M Display.h +28 -15

Diff

diff --git a/Display.h b/Display.h
index 0cbac47..b675644 100644
--- a/Display.h
+++ b/Display.h
@@ -19,7 +19,7 @@
#if BOARD_MODEL == BOARD_TDECK
#include <Adafruit_ST7789.h>
#elif BOARD_MODEL == BOARD_HELTEC_T114
- #include "ST7789Spi.h"
+ #include "ST7789.h"
#define COLOR565(r, g, b) (((r & 0xF8) << 8) | ((g & 0xFC) << 3) | ((b & 0xF8) >> 3))
#elif BOARD_MODEL == BOARD_TBEAM_S_V1
#include <Adafruit_SH110X.h>
@@ -127,17 +127,31 @@ GFXcanvas1 stat_area(64, 64);
GFXcanvas1 disp_area(64, 64);
void update_area_positions() {
- if (disp_mode == DISP_MODE_PORTRAIT) {
- p_ad_x = 0 * DISPLAY_SCALE;
- p_ad_y = 0 * DISPLAY_SCALE;
- p_as_x = 0 * DISPLAY_SCALE;
- p_as_y = 64 * DISPLAY_SCALE;
- } else if (disp_mode == DISP_MODE_LANDSCAPE) {
- p_ad_x = 0 * DISPLAY_SCALE;
- p_ad_y = 0 * DISPLAY_SCALE;
- p_as_x = 64 * DISPLAY_SCALE;
- p_as_y = 0 * DISPLAY_SCALE;
- }
+ #if BOARD_MODEL != BOARD_HELTEC_T114
+ if (disp_mode == DISP_MODE_PORTRAIT) {
+ p_ad_x = 0 * DISPLAY_SCALE;
+ p_ad_y = 0 * DISPLAY_SCALE;
+ p_as_x = 0 * DISPLAY_SCALE;
+ p_as_y = 64 * DISPLAY_SCALE;
+ } else if (disp_mode == DISP_MODE_LANDSCAPE) {
+ p_ad_x = 0 * DISPLAY_SCALE;
+ p_ad_y = 0 * DISPLAY_SCALE;
+ p_as_x = 64 * DISPLAY_SCALE;
+ p_as_y = 0 * DISPLAY_SCALE;
+ }
+ #else
+ if (disp_mode == DISP_MODE_PORTRAIT) {
+ p_ad_x = 16;
+ p_ad_y = 64;
+ p_as_x = 16;
+ p_as_y = p_ad_y+126;
+ } else if (disp_mode == DISP_MODE_LANDSCAPE) {
+ p_ad_x = 0;
+ p_ad_y = 96;
+ p_as_x = 126;
+ p_as_y = p_ad_y;
+ }
+ #endif
}
uint8_t display_contrast = 0x00;
@@ -282,9 +296,7 @@ bool display_init() {
} else {
disp_mode = DISP_MODE_PORTRAIT;
}
- #if BOARD_MODEL != BOARD_HELTEC_T114
display.setRotation(display_rotation);
- #endif
} else {
#if BOARD_MODEL == BOARD_RNODE_NG_20
disp_mode = DISP_MODE_PORTRAIT;
@@ -314,7 +326,8 @@ bool display_init() {
disp_mode = DISP_MODE_PORTRAIT;
display.setRotation(1);
#elif BOARD_MODEL == BOARD_HELTEC_T114
- disp_mode = DISP_MODE_LANDSCAPE;
+ disp_mode = DISP_MODE_PORTRAIT;
+ display.setRotation(1);
#elif BOARD_MODEL == BOARD_RAK4631
disp_mode = DISP_MODE_LANDSCAPE;
display.setRotation(0);


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────